package net.maku.module.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import net.maku.module.entity.AgApproveEntity;
import net.maku.module.entity.AgCategoryPermission;

import java.time.LocalDateTime;

/**
 * 联合实体类，包含 AgContent 和 AgContentLink 的所有字段
 */
@Data
public class AgContentCombined {
    @Schema(description = "内容ID")
    private Integer id;

    @Schema(description = "关联的子栏目ID")
    private Integer categoryId;

    @Schema(description = "内容标题")
    private String title;

    @Schema(description = "内容详情，支持富文本格式")
    private String content;

    @Schema(description = "图片URL")
    private String imageUrl;

    @Schema(description = "前端使用的CSS样式")
    private String cssStyle;

    @Schema(description = "内容模板类型：1-图片+文字，2-单图片，3-纯文字，4-多个内容链接，5-日报")
    private Integer templateType;

    @Schema(description = "内容来源")
    private String source;

    @Schema(description = "发布时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime publishTime;

    @Schema(description = "内容状态：1-启用，0-禁用")
    private Integer status;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    private LocalDateTime updateTime;

    @Schema(description = "删除标识：0-正常，1-已删除")
    private Integer deleted;

    @Schema(description = "创建人")
    private Long creator;

    @Schema(description = "更新人")
    private Long updater;

    @Schema(description = "关联的内容ID")
    private Integer contentId;

    @Schema(description = "链接标题")
    private String linkTitle;

    @Schema(description = "链接排序，值越小越靠前")
    private Float sort;
    private Integer isShow;
    private Integer parentId;
    private Integer cId; //当前栏目id
    private String name;
    private String parentName;
    private AgCategoryPermission agCategoryPermission;

    private String approveState;

    private String approveType;
    private AgApproveEntity agApprove;
    private String keyword;
    private String publishType;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime cancellationTime;
    private String isAnnouncement;
    private String isHome;
    private String customDate;
    private String href;
    private String sonId;
    private String sonName;
    private String pId;
    private String cName;
    private String pName;



}
